#ifndef SROS_DEVICE_DETAIL_DEFINE_HPP
#define SROS_DEVICE_DETAIL_DEFINE_HPP

#include <stdint.h>
#include <string>

namespace sros::device::detail
{
    // 状态枚举
    enum : uint8_t
    {
        DEV_UNINIT = 0,     // 未初始化
        DEV_INITING = 1,    // 初始化中
        DEV_RUNNING = 2,    // 运行中
        DEV_DISCONNECT = 3, // 断联
        DEV_ERORR = 4       // 错误
    };

    // RFID事件枚举
    enum : uint8_t
    {
        EV_RFID_OFF = 0,        // 离开rfid感应范围事件
        EV_RFID_ON = 1,         // 进入rfid感应范围事件
        EV_RFID_DISCONNECT = 2, // rfid感应器通讯断联事件
        EV_RFID_ERORR = 3       // rfid产生错误的事件
    };

    // Motor事件枚举
    enum : uint8_t
    {
        EV_MOTOR_DISCONNECT = 0,  // Motor通讯断联事件
        EV_MOTOR_ERORR = 1,       // Motor产生错误的事件
        EV_MOTOR_STALL = 2        // Motor检测到堵转的事件
    };

    // 设备信息
    struct Info
    {
        std::string hardware_version; // 硬件版本
        std::string software_version; // 软件版本
        std::string datetime;         // 出厂时间
        std::string manufacturer;     // 厂家
        std::string model;            // 具体型号
    };

    // 
}

#endif